home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / PASCAL / 0193.ZIP / TADFORM.INC < prev    next >
Text File  |  1985-02-23  |  2KB  |  63 lines

  1. function strint(n: integer): StdStr;
  2. { Return a two digit string value for the input integer }
  3. var
  4.   s: StdStr;
  5. begin { strint }
  6.   str(n:2, s);
  7.   strint := s
  8. end;
  9.  
  10. function zeller(day, month, year: integer): integer;
  11. { Compute the day of the week using Zeller's Congruence }
  12. var
  13.   century: integer;
  14. begin { zeller }
  15.   if month > 2
  16.     then month := month - 2
  17.     else
  18.       begin
  19.         month := month + 10;
  20.         year := year - 1
  21.       end;
  22.   century := year div 100;
  23.   year := year mod 100;
  24.   zeller := (day - 1 + ((13 * month - 1) div 5) + (5 * year div 4) +
  25.             century div 4 - 2 * century + 1) mod 7;
  26. end;
  27.  
  28. function formtime(t: tad_array): StdStr;
  29. var
  30.   i: integer;
  31.   line, ampm: StdStr;
  32. begin { formtime }
  33. { line := strint(t[2]) + ':' + strint(t[1]) + ':' + strint(t[0]); }
  34.   if t[2] > 12
  35.     then
  36.       begin
  37.         ampm := ' pm';
  38.         t[2] := t[2] - 12
  39.       end
  40.     else ampm := ' am';
  41.   if t[2] = 0
  42.     then t[2] := 12;
  43.   line := strint(t[2]) + ':' + strint(t[1]);
  44.   for i:= 2 to length(line) do
  45.     if line[i] = ' '
  46.       then line[i]:= '0';
  47.   formtime := line + ampm
  48. end;
  49.  
  50. function formdate(t: tad_array): StdStr;
  51. const
  52.   day: array [0..6] of string[6] =
  53.     ('Sun','Mon','Tues','Wednes','Thurs','Fri','Satur');
  54.   month: array [1..12] of string[3] =
  55.     ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
  56. begin { formdate }
  57. { formdate := strint(t[0]) + ' ' + month[t[1]] + ' ' + strint(t[2]) }
  58.   if t[1] > 0
  59.     then formdate := day[zeller(t[0], t[1], t[2] + 1900)] + 'day, ' +
  60.          strint(t[0]) + ' ' + month[t[1]] + ' 19' + strint(t[2])
  61.     else formdate := ''
  62. end;
  63.